from __future__ import division

import colorsys
import random

from .memoized import memoized


# TODO: Document color.py
# TODO: Change how colors work
# TODO: Change how names work

class Color(object):
    @classmethod
    def from_rgb(cls, r, g, b):
        return cls(*colorsys.rgb_to_hsv(r, g, b))
    
    def __init__(self, h, s = .9, v = .5):
        self._hue        = h
        self._saturation = s
        self._value      = v

    @property
    def hue(self):
        return self._hue
    
    @property
    def saturation(self):
        return self._saturation
    
    @property
    def value(self):
        return self._value
    
    h = hue
    s = saturation
    v = value
    
    @property
    def hsv(self):
        return (self.h, self.s, self.v)
    
    def hsv_scale(self, max):
        return (self.h * max, self.s * max, self.v * max)
    
    @property
    @memoized
    def rgb(self):
        hsv = self.hsv

        return colorsys.hsv_to_rgb(*hsv)
    
    @property
    @memoized
    def rgba(self):
        return self.rgb_with_alpha(1)
    
    def rgb_with_alpha(self, alpha):
        return tuple(list(self.rgb) + [alpha])
    
    def rgb_scale(self, max):
        r, g, b = self.rgb
        
        return (r * max, g * max, b * max)
    
    @property
    def red(self):
        return self.rgb[0]
    
    @property
    def green(self):
        return self.rgb[1]
    
    @property
    def blue(self):
        return self.rgb[2]
    
    r = red
    g = green
    b = blue
    
    def with_hue(self, hue):
        return Color(hue, self.s, self.v)
    
    def with_saturation(self, saturation):
        return Color(self.h, saturation, self.v)
    
    def with_value(self, value):
        return Color(self.h, self.s, value)
    
    def with_shifted_hue(self, delta):
        return self.with_hue(self.hue + delta)
    
    def mix(self, color, alpha = 0.5):
        return Color(self.h * (1 - alpha) + color.h * alpha,
                     self.s * (1 - alpha) + color.s * alpha,
                     self.v * (1 - alpha) + color.v * alpha)
    
    @property
    def light(self):
        return Color(self.h, self.s, 0.95)
    
    @property
    def lighter(self):
        return Color(self.h, self.s, self.v + (1 - self.v) / 3)
    
    @property
    def medium(self):
        return Color(self.h, self.s, 0.80)
    
    @property
    def darker(self):
        return Color(self.h, self.s, self.v * 2 / 3)
    
    @property
    def dark(self):
        return Color(self.h, self.s, 0.65)

    def variation(self, delta):
        x = random.random() * delta
        
        if random.random() < .5:
            return Color(self.h, self.s + (1 - self.s) * x, self.v + (1 - self.v) * x)
        else:
            return Color(self.h, self.s * (1 - x), self.v * (1 - x))
    
    @property
    def hex(self):
        return '#%02x%02x%02x' % self.rgb_scale(256)
    
    def __add__(self, color):
        return self.mix(color)
    
    def __repr__(self):
        return 'Color(%f, %f, %f)' % self.hsv
    
    def __str__(self):
        return 'RGB(%4.2f, %4.2f, %4.2f)' % self.rgb


AliceBlue            = Color.from_rgb(240 / 255, 248 / 255, 255 / 255)
AntiqueWhite         = Color.from_rgb(250 / 255, 235 / 255, 215 / 255)
AntiqueWhite1        = Color.from_rgb(255 / 255, 239 / 255, 219 / 255)
AntiqueWhite2        = Color.from_rgb(238 / 255, 223 / 255, 204 / 255)
AntiqueWhite3        = Color.from_rgb(205 / 255, 192 / 255, 176 / 255)
AntiqueWhite4        = Color.from_rgb(139 / 255, 131 / 255, 120 / 255)
Aquamarine           = Color.from_rgb(127 / 255, 255 / 255, 212 / 255)
Aquamarine1          = Color.from_rgb(127 / 255, 255 / 255, 212 / 255)
Aquamarine2          = Color.from_rgb(118 / 255, 238 / 255, 198 / 255)
Aquamarine3          = Color.from_rgb(102 / 255, 205 / 255, 170 / 255)
Aquamarine4          = Color.from_rgb( 69 / 255, 139 / 255, 116 / 255)
Azure                = Color.from_rgb(240 / 255, 255 / 255, 255 / 255)
Azure1               = Color.from_rgb(240 / 255, 255 / 255, 255 / 255)
Azure2               = Color.from_rgb(224 / 255, 238 / 255, 238 / 255)
Azure3               = Color.from_rgb(193 / 255, 205 / 255, 205 / 255)
Azure4               = Color.from_rgb(131 / 255, 139 / 255, 139 / 255)
Beige                = Color.from_rgb(245 / 255, 245 / 255, 220 / 255)
Bisque               = Color.from_rgb(255 / 255, 228 / 255, 196 / 255)
Bisque1              = Color.from_rgb(255 / 255, 228 / 255, 196 / 255)
Bisque2              = Color.from_rgb(238 / 255, 213 / 255, 183 / 255)
Bisque3              = Color.from_rgb(205 / 255, 183 / 255, 158 / 255)
Bisque4              = Color.from_rgb(139 / 255, 125 / 255, 107 / 255)
Black                = Color.from_rgb(  0 / 255,   0 / 255,   0 / 255)
BlanchedAlmond       = Color.from_rgb(255 / 255, 235 / 255, 205 / 255)
Blue                 = Color.from_rgb(  0 / 255,   0 / 255, 255 / 255)
Blue1                = Color.from_rgb(  0 / 255,   0 / 255, 255 / 255)
Blue2                = Color.from_rgb(  0 / 255,   0 / 255, 238 / 255)
Blue3                = Color.from_rgb(  0 / 255,   0 / 255, 205 / 255)
Blue4                = Color.from_rgb(  0 / 255,   0 / 255, 139 / 255)
BlueViolet           = Color.from_rgb(138 / 255,  43 / 255, 226 / 255)
Brown                = Color.from_rgb(165 / 255,  42 / 255,  42 / 255)
Brown1               = Color.from_rgb(255 / 255,  64 / 255,  64 / 255)
Brown2               = Color.from_rgb(238 / 255,  59 / 255,  59 / 255)
Brown3               = Color.from_rgb(205 / 255,  51 / 255,  51 / 255)
Brown4               = Color.from_rgb(139 / 255,  35 / 255,  35 / 255)
Burlywood            = Color.from_rgb(222 / 255, 184 / 255, 135 / 255)
Burlywood1           = Color.from_rgb(255 / 255, 211 / 255, 155 / 255)
Burlywood2           = Color.from_rgb(238 / 255, 197 / 255, 145 / 255)
Burlywood3           = Color.from_rgb(205 / 255, 170 / 255, 125 / 255)
Burlywood4           = Color.from_rgb(139 / 255, 115 / 255,  85 / 255)
CadetBlue            = Color.from_rgb( 95 / 255, 158 / 255, 160 / 255)
CadetBlue1           = Color.from_rgb(152 / 255, 245 / 255, 255 / 255)
CadetBlue2           = Color.from_rgb(142 / 255, 229 / 255, 238 / 255)
CadetBlue3           = Color.from_rgb(122 / 255, 197 / 255, 205 / 255)
CadetBlue4           = Color.from_rgb( 83 / 255, 134 / 255, 139 / 255)
Chartreuse           = Color.from_rgb(127 / 255, 255 / 255,   0 / 255)
Chartreuse1          = Color.from_rgb(127 / 255, 255 / 255,   0 / 255)
Chartreuse2          = Color.from_rgb(118 / 255, 238 / 255,   0 / 255)
Chartreuse3          = Color.from_rgb(102 / 255, 205 / 255,   0 / 255)
Chartreuse4          = Color.from_rgb( 69 / 255, 139 / 255,   0 / 255)
Chocolate            = Color.from_rgb(210 / 255, 105 / 255,  30 / 255)
Chocolate1           = Color.from_rgb(255 / 255, 127 / 255,  36 / 255)
Chocolate2           = Color.from_rgb(238 / 255, 118 / 255,  33 / 255)
Chocolate3           = Color.from_rgb(205 / 255, 102 / 255,  29 / 255)
Chocolate4           = Color.from_rgb(139 / 255,  69 / 255,  19 / 255)
Coral                = Color.from_rgb(255 / 255, 127 / 255,  80 / 255)
Coral1               = Color.from_rgb(255 / 255, 114 / 255,  86 / 255)
Coral2               = Color.from_rgb(238 / 255, 106 / 255,  80 / 255)
Coral3               = Color.from_rgb(205 / 255,  91 / 255,  69 / 255)
Coral4               = Color.from_rgb(139 / 255,  62 / 255,  47 / 255)
CornflowerBlue       = Color.from_rgb(100 / 255, 149 / 255, 237 / 255)
Cornsilk             = Color.from_rgb(255 / 255, 248 / 255, 220 / 255)
Cornsilk1            = Color.from_rgb(255 / 255, 248 / 255, 220 / 255)
Cornsilk2            = Color.from_rgb(238 / 255, 232 / 255, 205 / 255)
Cornsilk3            = Color.from_rgb(205 / 255, 200 / 255, 177 / 255)
Cornsilk4            = Color.from_rgb(139 / 255, 136 / 255, 120 / 255)
Cyan                 = Color.from_rgb(  0 / 255, 255 / 255, 255 / 255)
Cyan1                = Color.from_rgb(  0 / 255, 255 / 255, 255 / 255)
Cyan2                = Color.from_rgb(  0 / 255, 238 / 255, 238 / 255)
Cyan3                = Color.from_rgb(  0 / 255, 205 / 255, 205 / 255)
Cyan4                = Color.from_rgb(  0 / 255, 139 / 255, 139 / 255)
DarkBlue             = Color.from_rgb(  0 / 255,   0 / 255, 139 / 255)
DarkCyan             = Color.from_rgb(  0 / 255, 139 / 255, 139 / 255)
DarkGoldenrod        = Color.from_rgb(184 / 255, 134 / 255,  11 / 255)
DarkGoldenrod1       = Color.from_rgb(255 / 255, 185 / 255,  15 / 255)
DarkGoldenrod2       = Color.from_rgb(238 / 255, 173 / 255,  14 / 255)
DarkGoldenrod3       = Color.from_rgb(205 / 255, 149 / 255,  12 / 255)
DarkGoldenrod4       = Color.from_rgb(139 / 255, 101 / 255,   8 / 255)
DarkGray             = Color.from_rgb(169 / 255, 169 / 255, 169 / 255)
DarkGreen            = Color.from_rgb(  0 / 255, 100 / 255,   0 / 255)
DarkGrey             = Color.from_rgb(169 / 255, 169 / 255, 169 / 255)
DarkKhaki            = Color.from_rgb(189 / 255, 183 / 255, 107 / 255)
DarkMagenta          = Color.from_rgb(139 / 255,   0 / 255, 139 / 255)
DarkOliveGreen       = Color.from_rgb( 85 / 255, 107 / 255,  47 / 255)
DarkOliveGreen1      = Color.from_rgb(202 / 255, 255 / 255, 112 / 255)
DarkOliveGreen2      = Color.from_rgb(188 / 255, 238 / 255, 104 / 255)
DarkOliveGreen3      = Color.from_rgb(162 / 255, 205 / 255,  90 / 255)
DarkOliveGreen4      = Color.from_rgb(110 / 255, 139 / 255,  61 / 255)
DarkOrange           = Color.from_rgb(255 / 255, 140 / 255,   0 / 255)
DarkOrange1          = Color.from_rgb(255 / 255, 127 / 255,   0 / 255)
DarkOrange2          = Color.from_rgb(238 / 255, 118 / 255,   0 / 255)
DarkOrange3          = Color.from_rgb(205 / 255, 102 / 255,   0 / 255)
DarkOrange4          = Color.from_rgb(139 / 255,  69 / 255,   0 / 255)
DarkOrchid           = Color.from_rgb(153 / 255,  50 / 255, 204 / 255)
DarkOrchid1          = Color.from_rgb(191 / 255,  62 / 255, 255 / 255)
DarkOrchid2          = Color.from_rgb(178 / 255,  58 / 255, 238 / 255)
DarkOrchid3          = Color.from_rgb(154 / 255,  50 / 255, 205 / 255)
DarkOrchid4          = Color.from_rgb(104 / 255,  34 / 255, 139 / 255)
DarkRed              = Color.from_rgb(139 / 255,   0 / 255,   0 / 255)
DarkSalmon           = Color.from_rgb(233 / 255, 150 / 255, 122 / 255)
DarkSeaGreen         = Color.from_rgb(143 / 255, 188 / 255, 143 / 255)
DarkSeaGreen1        = Color.from_rgb(193 / 255, 255 / 255, 193 / 255)
DarkSeaGreen2        = Color.from_rgb(180 / 255, 238 / 255, 180 / 255)
DarkSeaGreen3        = Color.from_rgb(155 / 255, 205 / 255, 155 / 255)
DarkSeaGreen4        = Color.from_rgb(105 / 255, 139 / 255, 105 / 255)
DarkSlateBlue        = Color.from_rgb( 72 / 255,  61 / 255, 139 / 255)
DarkSlateGray        = Color.from_rgb( 47 / 255,  79 / 255,  79 / 255)
DarkSlateGray1       = Color.from_rgb(151 / 255, 255 / 255, 255 / 255)
DarkSlateGray2       = Color.from_rgb(141 / 255, 238 / 255, 238 / 255)
DarkSlateGray3       = Color.from_rgb(121 / 255, 205 / 255, 205 / 255)
DarkSlateGray4       = Color.from_rgb( 82 / 255, 139 / 255, 139 / 255)
DarkSlateGrey        = Color.from_rgb( 47 / 255,  79 / 255,  79 / 255)
DarkTurquoise        = Color.from_rgb(  0 / 255, 206 / 255, 209 / 255)
DarkViolet           = Color.from_rgb(148 / 255,   0 / 255, 211 / 255)
DeepPink             = Color.from_rgb(255 / 255,  20 / 255, 147 / 255)
DeepPink1            = Color.from_rgb(255 / 255,  20 / 255, 147 / 255)
DeepPink2            = Color.from_rgb(238 / 255,  18 / 255, 137 / 255)
DeepPink3            = Color.from_rgb(205 / 255,  16 / 255, 118 / 255)
DeepPink4            = Color.from_rgb(139 / 255,  10 / 255,  80 / 255)
DeepSkyBlue          = Color.from_rgb(  0 / 255, 191 / 255, 255 / 255)
DeepSkyBlue1         = Color.from_rgb(  0 / 255, 191 / 255, 255 / 255)
DeepSkyBlue2         = Color.from_rgb(  0 / 255, 178 / 255, 238 / 255)
DeepSkyBlue3         = Color.from_rgb(  0 / 255, 154 / 255, 205 / 255)
DeepSkyBlue4         = Color.from_rgb(  0 / 255, 104 / 255, 139 / 255)
DimGray              = Color.from_rgb(105 / 255, 105 / 255, 105 / 255)
DimGrey              = Color.from_rgb(105 / 255, 105 / 255, 105 / 255)
DodgerBlue           = Color.from_rgb( 30 / 255, 144 / 255, 255 / 255)
DodgerBlue1          = Color.from_rgb( 30 / 255, 144 / 255, 255 / 255)
DodgerBlue2          = Color.from_rgb( 28 / 255, 134 / 255, 238 / 255)
DodgerBlue3          = Color.from_rgb( 24 / 255, 116 / 255, 205 / 255)
DodgerBlue4          = Color.from_rgb( 16 / 255,  78 / 255, 139 / 255)
Firebrick            = Color.from_rgb(178 / 255,  34 / 255,  34 / 255)
Firebrick1           = Color.from_rgb(255 / 255,  48 / 255,  48 / 255)
Firebrick2           = Color.from_rgb(238 / 255,  44 / 255,  44 / 255)
Firebrick3           = Color.from_rgb(205 / 255,  38 / 255,  38 / 255)
Firebrick4           = Color.from_rgb(139 / 255,  26 / 255,  26 / 255)
FloralWhite          = Color.from_rgb(255 / 255, 250 / 255, 240 / 255)
ForestGreen          = Color.from_rgb( 34 / 255, 139 / 255,  34 / 255)
Gainsboro            = Color.from_rgb(220 / 255, 220 / 255, 220 / 255)
GhostWhite           = Color.from_rgb(248 / 255, 248 / 255, 255 / 255)
Gold1                = Color.from_rgb(255 / 255, 215 / 255,   0 / 255)
Gold2                = Color.from_rgb(238 / 255, 201 / 255,   0 / 255)
Gold3                = Color.from_rgb(205 / 255, 173 / 255,   0 / 255)
Gold4                = Color.from_rgb(139 / 255, 117 / 255,   0 / 255)
Goldenrod            = Color.from_rgb(218 / 255, 165 / 255,  32 / 255)
Goldenrod1           = Color.from_rgb(255 / 255, 193 / 255,  37 / 255)
Goldenrod2           = Color.from_rgb(238 / 255, 180 / 255,  34 / 255)
Goldenrod3           = Color.from_rgb(205 / 255, 155 / 255,  29 / 255)
Goldenrod4           = Color.from_rgb(139 / 255, 105 / 255,  20 / 255)
Gray                 = Color.from_rgb(190 / 255, 190 / 255, 190 / 255)
Gray0                = Color.from_rgb(  0 / 255,   0 / 255,   0 / 255)
Gray1                = Color.from_rgb(  3 / 255,   3 / 255,   3 / 255)
Gray10               = Color.from_rgb( 26 / 255,  26 / 255,  26 / 255)
Gray100              = Color.from_rgb(255 / 255, 255 / 255, 255 / 255)
Gray11               = Color.from_rgb( 28 / 255,  28 / 255,  28 / 255)
Gray12               = Color.from_rgb( 31 / 255,  31 / 255,  31 / 255)
Gray13               = Color.from_rgb( 33 / 255,  33 / 255,  33 / 255)
Gray14               = Color.from_rgb( 36 / 255,  36 / 255,  36 / 255)
Gray15               = Color.from_rgb( 38 / 255,  38 / 255,  38 / 255)
Gray16               = Color.from_rgb( 41 / 255,  41 / 255,  41 / 255)
Gray17               = Color.from_rgb( 43 / 255,  43 / 255,  43 / 255)
Gray18               = Color.from_rgb( 46 / 255,  46 / 255,  46 / 255)
Gray19               = Color.from_rgb( 48 / 255,  48 / 255,  48 / 255)
Gray2                = Color.from_rgb(  5 / 255,   5 / 255,   5 / 255)
Gray20               = Color.from_rgb( 51 / 255,  51 / 255,  51 / 255)
Gray21               = Color.from_rgb( 54 / 255,  54 / 255,  54 / 255)
Gray22               = Color.from_rgb( 56 / 255,  56 / 255,  56 / 255)
Gray23               = Color.from_rgb( 59 / 255,  59 / 255,  59 / 255)
Gray24               = Color.from_rgb( 61 / 255,  61 / 255,  61 / 255)
Gray25               = Color.from_rgb( 64 / 255,  64 / 255,  64 / 255)
Gray26               = Color.from_rgb( 66 / 255,  66 / 255,  66 / 255)
Gray27               = Color.from_rgb( 69 / 255,  69 / 255,  69 / 255)
Gray28               = Color.from_rgb( 71 / 255,  71 / 255,  71 / 255)
Gray29               = Color.from_rgb( 74 / 255,  74 / 255,  74 / 255)
Gray3                = Color.from_rgb(  8 / 255,   8 / 255,   8 / 255)
Gray30               = Color.from_rgb( 77 / 255,  77 / 255,  77 / 255)
Gray31               = Color.from_rgb( 79 / 255,  79 / 255,  79 / 255)
Gray32               = Color.from_rgb( 82 / 255,  82 / 255,  82 / 255)
Gray33               = Color.from_rgb( 84 / 255,  84 / 255,  84 / 255)
Gray34               = Color.from_rgb( 87 / 255,  87 / 255,  87 / 255)
Gray35               = Color.from_rgb( 89 / 255,  89 / 255,  89 / 255)
Gray36               = Color.from_rgb( 92 / 255,  92 / 255,  92 / 255)
Gray37               = Color.from_rgb( 94 / 255,  94 / 255,  94 / 255)
Gray38               = Color.from_rgb( 97 / 255,  97 / 255,  97 / 255)
Gray39               = Color.from_rgb( 99 / 255,  99 / 255,  99 / 255)
Gray4                = Color.from_rgb( 10 / 255,  10 / 255,  10 / 255)
Gray40               = Color.from_rgb(102 / 255, 102 / 255, 102 / 255)
Gray41               = Color.from_rgb(105 / 255, 105 / 255, 105 / 255)
Gray42               = Color.from_rgb(107 / 255, 107 / 255, 107 / 255)
Gray43               = Color.from_rgb(110 / 255, 110 / 255, 110 / 255)
Gray44               = Color.from_rgb(112 / 255, 112 / 255, 112 / 255)
Gray45               = Color.from_rgb(115 / 255, 115 / 255, 115 / 255)
Gray46               = Color.from_rgb(117 / 255, 117 / 255, 117 / 255)
Gray47               = Color.from_rgb(120 / 255, 120 / 255, 120 / 255)
Gray48               = Color.from_rgb(122 / 255, 122 / 255, 122 / 255)
Gray49               = Color.from_rgb(125 / 255, 125 / 255, 125 / 255)
Gray5                = Color.from_rgb( 13 / 255,  13 / 255,  13 / 255)
Gray50               = Color.from_rgb(127 / 255, 127 / 255, 127 / 255)
Gray51               = Color.from_rgb(130 / 255, 130 / 255, 130 / 255)
Gray52               = Color.from_rgb(133 / 255, 133 / 255, 133 / 255)
Gray53               = Color.from_rgb(135 / 255, 135 / 255, 135 / 255)
Gray54               = Color.from_rgb(138 / 255, 138 / 255, 138 / 255)
Gray55               = Color.from_rgb(140 / 255, 140 / 255, 140 / 255)
Gray56               = Color.from_rgb(143 / 255, 143 / 255, 143 / 255)
Gray57               = Color.from_rgb(145 / 255, 145 / 255, 145 / 255)
Gray58               = Color.from_rgb(148 / 255, 148 / 255, 148 / 255)
Gray59               = Color.from_rgb(150 / 255, 150 / 255, 150 / 255)
Gray6                = Color.from_rgb( 15 / 255,  15 / 255,  15 / 255)
Gray60               = Color.from_rgb(153 / 255, 153 / 255, 153 / 255)
Gray61               = Color.from_rgb(156 / 255, 156 / 255, 156 / 255)
Gray62               = Color.from_rgb(158 / 255, 158 / 255, 158 / 255)
Gray63               = Color.from_rgb(161 / 255, 161 / 255, 161 / 255)
Gray64               = Color.from_rgb(163 / 255, 163 / 255, 163 / 255)
Gray65               = Color.from_rgb(166 / 255, 166 / 255, 166 / 255)
Gray66               = Color.from_rgb(168 / 255, 168 / 255, 168 / 255)
Gray67               = Color.from_rgb(171 / 255, 171 / 255, 171 / 255)
Gray68               = Color.from_rgb(173 / 255, 173 / 255, 173 / 255)
Gray69               = Color.from_rgb(176 / 255, 176 / 255, 176 / 255)
Gray7                = Color.from_rgb( 18 / 255,  18 / 255,  18 / 255)
Gray70               = Color.from_rgb(179 / 255, 179 / 255, 179 / 255)
Gray71               = Color.from_rgb(181 / 255, 181 / 255, 181 / 255)
Gray72               = Color.from_rgb(184 / 255, 184 / 255, 184 / 255)
Gray73               = Color.from_rgb(186 / 255, 186 / 255, 186 / 255)
Gray74               = Color.from_rgb(189 / 255, 189 / 255, 189 / 255)
Gray75               = Color.from_rgb(191 / 255, 191 / 255, 191 / 255)
Gray76               = Color.from_rgb(194 / 255, 194 / 255, 194 / 255)
Gray77               = Color.from_rgb(196 / 255, 196 / 255, 196 / 255)
Gray78               = Color.from_rgb(199 / 255, 199 / 255, 199 / 255)
Gray79               = Color.from_rgb(201 / 255, 201 / 255, 201 / 255)
Gray8                = Color.from_rgb( 20 / 255,  20 / 255,  20 / 255)
Gray80               = Color.from_rgb(204 / 255, 204 / 255, 204 / 255)
Gray81               = Color.from_rgb(207 / 255, 207 / 255, 207 / 255)
Gray82               = Color.from_rgb(209 / 255, 209 / 255, 209 / 255)
Gray83               = Color.from_rgb(212 / 255, 212 / 255, 212 / 255)
Gray84               = Color.from_rgb(214 / 255, 214 / 255, 214 / 255)
Gray85               = Color.from_rgb(217 / 255, 217 / 255, 217 / 255)
Gray86               = Color.from_rgb(219 / 255, 219 / 255, 219 / 255)
Gray87               = Color.from_rgb(222 / 255, 222 / 255, 222 / 255)
Gray88               = Color.from_rgb(224 / 255, 224 / 255, 224 / 255)
Gray89               = Color.from_rgb(227 / 255, 227 / 255, 227 / 255)
Gray9                = Color.from_rgb( 23 / 255,  23 / 255,  23 / 255)
Gray90               = Color.from_rgb(229 / 255, 229 / 255, 229 / 255)
Gray91               = Color.from_rgb(232 / 255, 232 / 255, 232 / 255)
Gray92               = Color.from_rgb(235 / 255, 235 / 255, 235 / 255)
Gray93               = Color.from_rgb(237 / 255, 237 / 255, 237 / 255)
Gray94               = Color.from_rgb(240 / 255, 240 / 255, 240 / 255)
Gray95               = Color.from_rgb(242 / 255, 242 / 255, 242 / 255)
Gray96               = Color.from_rgb(245 / 255, 245 / 255, 245 / 255)
Gray97               = Color.from_rgb(247 / 255, 247 / 255, 247 / 255)
Gray98               = Color.from_rgb(250 / 255, 250 / 255, 250 / 255)
Gray99               = Color.from_rgb(252 / 255, 252 / 255, 252 / 255)
Green                = Color.from_rgb(  0 / 255, 255 / 255,   0 / 255)
Green1               = Color.from_rgb(  0 / 255, 255 / 255,   0 / 255)
Green2               = Color.from_rgb(  0 / 255, 238 / 255,   0 / 255)
Green3               = Color.from_rgb(  0 / 255, 205 / 255,   0 / 255)
Green4               = Color.from_rgb(  0 / 255, 139 / 255,   0 / 255)
GreenYellow          = Color.from_rgb(173 / 255, 255 / 255,  47 / 255)
Grey                 = Color.from_rgb(190 / 255, 190 / 255, 190 / 255)
Grey0                = Color.from_rgb(  0 / 255,   0 / 255,   0 / 255)
Grey1                = Color.from_rgb(  3 / 255,   3 / 255,   3 / 255)
Grey10               = Color.from_rgb( 26 / 255,  26 / 255,  26 / 255)
Grey100              = Color.from_rgb(255 / 255, 255 / 255, 255 / 255)
Grey11               = Color.from_rgb( 28 / 255,  28 / 255,  28 / 255)
Grey12               = Color.from_rgb( 31 / 255,  31 / 255,  31 / 255)
Grey13               = Color.from_rgb( 33 / 255,  33 / 255,  33 / 255)
Grey14               = Color.from_rgb( 36 / 255,  36 / 255,  36 / 255)
Grey15               = Color.from_rgb( 38 / 255,  38 / 255,  38 / 255)
Grey16               = Color.from_rgb( 41 / 255,  41 / 255,  41 / 255)
Grey17               = Color.from_rgb( 43 / 255,  43 / 255,  43 / 255)
Grey18               = Color.from_rgb( 46 / 255,  46 / 255,  46 / 255)
Grey19               = Color.from_rgb( 48 / 255,  48 / 255,  48 / 255)
Grey2                = Color.from_rgb(  5 / 255,   5 / 255,   5 / 255)
Grey20               = Color.from_rgb( 51 / 255,  51 / 255,  51 / 255)
Grey21               = Color.from_rgb( 54 / 255,  54 / 255,  54 / 255)
Grey22               = Color.from_rgb( 56 / 255,  56 / 255,  56 / 255)
Grey23               = Color.from_rgb( 59 / 255,  59 / 255,  59 / 255)
Grey24               = Color.from_rgb( 61 / 255,  61 / 255,  61 / 255)
Grey25               = Color.from_rgb( 64 / 255,  64 / 255,  64 / 255)
Grey26               = Color.from_rgb( 66 / 255,  66 / 255,  66 / 255)
Grey27               = Color.from_rgb( 69 / 255,  69 / 255,  69 / 255)
Grey28               = Color.from_rgb( 71 / 255,  71 / 255,  71 / 255)
Grey29               = Color.from_rgb( 74 / 255,  74 / 255,  74 / 255)
Grey3                = Color.from_rgb(  8 / 255,   8 / 255,   8 / 255)
Grey30               = Color.from_rgb( 77 / 255,  77 / 255,  77 / 255)
Grey31               = Color.from_rgb( 79 / 255,  79 / 255,  79 / 255)
Grey32               = Color.from_rgb( 82 / 255,  82 / 255,  82 / 255)
Grey33               = Color.from_rgb( 84 / 255,  84 / 255,  84 / 255)
Grey34               = Color.from_rgb( 87 / 255,  87 / 255,  87 / 255)
Grey35               = Color.from_rgb( 89 / 255,  89 / 255,  89 / 255)
Grey36               = Color.from_rgb( 92 / 255,  92 / 255,  92 / 255)
Grey37               = Color.from_rgb( 94 / 255,  94 / 255,  94 / 255)
Grey38               = Color.from_rgb( 97 / 255,  97 / 255,  97 / 255)
Grey39               = Color.from_rgb( 99 / 255,  99 / 255,  99 / 255)
Grey4                = Color.from_rgb( 10 / 255,  10 / 255,  10 / 255)
Grey40               = Color.from_rgb(102 / 255, 102 / 255, 102 / 255)
Grey41               = Color.from_rgb(105 / 255, 105 / 255, 105 / 255)
Grey42               = Color.from_rgb(107 / 255, 107 / 255, 107 / 255)
Grey43               = Color.from_rgb(110 / 255, 110 / 255, 110 / 255)
Grey44               = Color.from_rgb(112 / 255, 112 / 255, 112 / 255)
Grey45               = Color.from_rgb(115 / 255, 115 / 255, 115 / 255)
Grey46               = Color.from_rgb(117 / 255, 117 / 255, 117 / 255)
Grey47               = Color.from_rgb(120 / 255, 120 / 255, 120 / 255)
Grey48               = Color.from_rgb(122 / 255, 122 / 255, 122 / 255)
Grey49               = Color.from_rgb(125 / 255, 125 / 255, 125 / 255)
Grey5                = Color.from_rgb( 13 / 255,  13 / 255,  13 / 255)
Grey50               = Color.from_rgb(127 / 255, 127 / 255, 127 / 255)
Grey51               = Color.from_rgb(130 / 255, 130 / 255, 130 / 255)
Grey52               = Color.from_rgb(133 / 255, 133 / 255, 133 / 255)
Grey53               = Color.from_rgb(135 / 255, 135 / 255, 135 / 255)
Grey54               = Color.from_rgb(138 / 255, 138 / 255, 138 / 255)
Grey55               = Color.from_rgb(140 / 255, 140 / 255, 140 / 255)
Grey56               = Color.from_rgb(143 / 255, 143 / 255, 143 / 255)
Grey57               = Color.from_rgb(145 / 255, 145 / 255, 145 / 255)
Grey58               = Color.from_rgb(148 / 255, 148 / 255, 148 / 255)
Grey59               = Color.from_rgb(150 / 255, 150 / 255, 150 / 255)
Grey6                = Color.from_rgb( 15 / 255,  15 / 255,  15 / 255)
Grey60               = Color.from_rgb(153 / 255, 153 / 255, 153 / 255)
Grey61               = Color.from_rgb(156 / 255, 156 / 255, 156 / 255)
Grey62               = Color.from_rgb(158 / 255, 158 / 255, 158 / 255)
Grey63               = Color.from_rgb(161 / 255, 161 / 255, 161 / 255)
Grey64               = Color.from_rgb(163 / 255, 163 / 255, 163 / 255)
Grey65               = Color.from_rgb(166 / 255, 166 / 255, 166 / 255)
Grey66               = Color.from_rgb(168 / 255, 168 / 255, 168 / 255)
Grey67               = Color.from_rgb(171 / 255, 171 / 255, 171 / 255)
Grey68               = Color.from_rgb(173 / 255, 173 / 255, 173 / 255)
Grey69               = Color.from_rgb(176 / 255, 176 / 255, 176 / 255)
Grey7                = Color.from_rgb( 18 / 255,  18 / 255,  18 / 255)
Grey70               = Color.from_rgb(179 / 255, 179 / 255, 179 / 255)
Grey71               = Color.from_rgb(181 / 255, 181 / 255, 181 / 255)
Grey72               = Color.from_rgb(184 / 255, 184 / 255, 184 / 255)
Grey73               = Color.from_rgb(186 / 255, 186 / 255, 186 / 255)
Grey74               = Color.from_rgb(189 / 255, 189 / 255, 189 / 255)
Grey75               = Color.from_rgb(191 / 255, 191 / 255, 191 / 255)
Grey76               = Color.from_rgb(194 / 255, 194 / 255, 194 / 255)
Grey77               = Color.from_rgb(196 / 255, 196 / 255, 196 / 255)
Grey78               = Color.from_rgb(199 / 255, 199 / 255, 199 / 255)
Grey79               = Color.from_rgb(201 / 255, 201 / 255, 201 / 255)
Grey8                = Color.from_rgb( 20 / 255,  20 / 255,  20 / 255)
Grey80               = Color.from_rgb(204 / 255, 204 / 255, 204 / 255)
Grey81               = Color.from_rgb(207 / 255, 207 / 255, 207 / 255)
Grey82               = Color.from_rgb(209 / 255, 209 / 255, 209 / 255)
Grey83               = Color.from_rgb(212 / 255, 212 / 255, 212 / 255)
Grey84               = Color.from_rgb(214 / 255, 214 / 255, 214 / 255)
Grey85               = Color.from_rgb(217 / 255, 217 / 255, 217 / 255)
Grey86               = Color.from_rgb(219 / 255, 219 / 255, 219 / 255)
Grey87               = Color.from_rgb(222 / 255, 222 / 255, 222 / 255)
Grey88               = Color.from_rgb(224 / 255, 224 / 255, 224 / 255)
Grey89               = Color.from_rgb(227 / 255, 227 / 255, 227 / 255)
Grey9                = Color.from_rgb( 23 / 255,  23 / 255,  23 / 255)
Grey90               = Color.from_rgb(229 / 255, 229 / 255, 229 / 255)
Grey91               = Color.from_rgb(232 / 255, 232 / 255, 232 / 255)
Grey92               = Color.from_rgb(235 / 255, 235 / 255, 235 / 255)
Grey93               = Color.from_rgb(237 / 255, 237 / 255, 237 / 255)
Grey94               = Color.from_rgb(240 / 255, 240 / 255, 240 / 255)
Grey95               = Color.from_rgb(242 / 255, 242 / 255, 242 / 255)
Grey96               = Color.from_rgb(245 / 255, 245 / 255, 245 / 255)
Grey97               = Color.from_rgb(247 / 255, 247 / 255, 247 / 255)
Grey98               = Color.from_rgb(250 / 255, 250 / 255, 250 / 255)
Grey99               = Color.from_rgb(252 / 255, 252 / 255, 252 / 255)
Honeydew             = Color.from_rgb(240 / 255, 255 / 255, 240 / 255)
Honeydew1            = Color.from_rgb(240 / 255, 255 / 255, 240 / 255)
Honeydew2            = Color.from_rgb(224 / 255, 238 / 255, 224 / 255)
Honeydew3            = Color.from_rgb(193 / 255, 205 / 255, 193 / 255)
Honeydew4            = Color.from_rgb(131 / 255, 139 / 255, 131 / 255)
HotPink              = Color.from_rgb(255 / 255, 105 / 255, 180 / 255)
HotPink1             = Color.from_rgb(255 / 255, 110 / 255, 180 / 255)
HotPink2             = Color.from_rgb(238 / 255, 106 / 255, 167 / 255)
HotPink3             = Color.from_rgb(205 / 255,  96 / 255, 144 / 255)
HotPink4             = Color.from_rgb(139 / 255,  58 / 255,  98 / 255)
IndianRed            = Color.from_rgb(205 / 255,  92 / 255,  92 / 255)
IndianRed1           = Color.from_rgb(255 / 255, 106 / 255, 106 / 255)
IndianRed2           = Color.from_rgb(238 / 255,  99 / 255,  99 / 255)
IndianRed3           = Color.from_rgb(205 / 255,  85 / 255,  85 / 255)
IndianRed4           = Color.from_rgb(139 / 255,  58 / 255,  58 / 255)
Ivory                = Color.from_rgb(255 / 255, 255 / 255, 240 / 255)
Ivory1               = Color.from_rgb(255 / 255, 255 / 255, 240 / 255)
Ivory2               = Color.from_rgb(238 / 255, 238 / 255, 224 / 255)
Ivory3               = Color.from_rgb(205 / 255, 205 / 255, 193 / 255)
Ivory4               = Color.from_rgb(139 / 255, 139 / 255, 131 / 255)
Khaki                = Color.from_rgb(240 / 255, 230 / 255, 140 / 255)
Khaki1               = Color.from_rgb(255 / 255, 246 / 255, 143 / 255)
Khaki2               = Color.from_rgb(238 / 255, 230 / 255, 133 / 255)
Khaki3               = Color.from_rgb(205 / 255, 198 / 255, 115 / 255)
Khaki4               = Color.from_rgb(139 / 255, 134 / 255,  78 / 255)
Lavender             = Color.from_rgb(230 / 255, 230 / 255, 250 / 255)
LavenderBlush        = Color.from_rgb(255 / 255, 240 / 255, 245 / 255)
LavenderBlush1       = Color.from_rgb(255 / 255, 240 / 255, 245 / 255)
LavenderBlush2       = Color.from_rgb(238 / 255, 224 / 255, 229 / 255)
LavenderBlush3       = Color.from_rgb(205 / 255, 193 / 255, 197 / 255)
LavenderBlush4       = Color.from_rgb(139 / 255, 131 / 255, 134 / 255)
LawnGreen            = Color.from_rgb(124 / 255, 252 / 255,   0 / 255)
LemonChiffon         = Color.from_rgb(255 / 255, 250 / 255, 205 / 255)
LemonChiffon1        = Color.from_rgb(255 / 255, 250 / 255, 205 / 255)
LemonChiffon2        = Color.from_rgb(238 / 255, 233 / 255, 191 / 255)
LemonChiffon3        = Color.from_rgb(205 / 255, 201 / 255, 165 / 255)
LemonChiffon4        = Color.from_rgb(139 / 255, 137 / 255, 112 / 255)
LightBlue            = Color.from_rgb(173 / 255, 216 / 255, 230 / 255)
LightBlue1           = Color.from_rgb(191 / 255, 239 / 255, 255 / 255)
LightBlue2           = Color.from_rgb(178 / 255, 223 / 255, 238 / 255)
LightBlue3           = Color.from_rgb(154 / 255, 192 / 255, 205 / 255)
LightBlue4           = Color.from_rgb(104 / 255, 131 / 255, 139 / 255)
LightCoral           = Color.from_rgb(240 / 255, 128 / 255, 128 / 255)
LightCyan            = Color.from_rgb(224 / 255, 255 / 255, 255 / 255)
LightCyan1           = Color.from_rgb(224 / 255, 255 / 255, 255 / 255)
LightCyan2           = Color.from_rgb(209 / 255, 238 / 255, 238 / 255)
LightCyan3           = Color.from_rgb(180 / 255, 205 / 255, 205 / 255)
LightCyan4           = Color.from_rgb(122 / 255, 139 / 255, 139 / 255)
LightGoldenrod       = Color.from_rgb(238 / 255, 221 / 255, 130 / 255)
LightGoldenrod1      = Color.from_rgb(255 / 255, 236 / 255, 139 / 255)
LightGoldenrod2      = Color.from_rgb(238 / 255, 220 / 255, 130 / 255)
LightGoldenrod3      = Color.from_rgb(205 / 255, 190 / 255, 112 / 255)
LightGoldenrod4      = Color.from_rgb(139 / 255, 129 / 255,  76 / 255)
LightGoldenrodYellow = Color.from_rgb(250 / 255, 250 / 255, 210 / 255)
LightGray            = Color.from_rgb(211 / 255, 211 / 255, 211 / 255)
LightGreen           = Color.from_rgb(144 / 255, 238 / 255, 144 / 255)
LightGrey            = Color.from_rgb(211 / 255, 211 / 255, 211 / 255)
LightPink            = Color.from_rgb(255 / 255, 182 / 255, 193 / 255)
LightPink1           = Color.from_rgb(255 / 255, 174 / 255, 185 / 255)
LightPink2           = Color.from_rgb(238 / 255, 162 / 255, 173 / 255)
LightPink3           = Color.from_rgb(205 / 255, 140 / 255, 149 / 255)
LightPink4           = Color.from_rgb(139 / 255,  95 / 255, 101 / 255)
LightSalmon          = Color.from_rgb(255 / 255, 160 / 255, 122 / 255)
LightSalmon1         = Color.from_rgb(255 / 255, 160 / 255, 122 / 255)
LightSalmon2         = Color.from_rgb(238 / 255, 149 / 255, 114 / 255)
LightSalmon3         = Color.from_rgb(205 / 255, 129 / 255,  98 / 255)
LightSalmon4         = Color.from_rgb(139 / 255,  87 / 255,  66 / 255)
LightSeaGreen        = Color.from_rgb( 32 / 255, 178 / 255, 170 / 255)
LightSkyBlue         = Color.from_rgb(135 / 255, 206 / 255, 250 / 255)
LightSkyBlue1        = Color.from_rgb(176 / 255, 226 / 255, 255 / 255)
LightSkyBlue2        = Color.from_rgb(164 / 255, 211 / 255, 238 / 255)
LightSkyBlue3        = Color.from_rgb(141 / 255, 182 / 255, 205 / 255)
LightSkyBlue4        = Color.from_rgb( 96 / 255, 123 / 255, 139 / 255)
LightSlateBlue       = Color.from_rgb(132 / 255, 112 / 255, 255 / 255)
LightSlateGray       = Color.from_rgb(119 / 255, 136 / 255, 153 / 255)
LightSlateGrey       = Color.from_rgb(119 / 255, 136 / 255, 153 / 255)
LightSteelBlue       = Color.from_rgb(176 / 255, 196 / 255, 222 / 255)
LightSteelBlue1      = Color.from_rgb(202 / 255, 225 / 255, 255 / 255)
LightSteelBlue2      = Color.from_rgb(188 / 255, 210 / 255, 238 / 255)
LightSteelBlue3      = Color.from_rgb(162 / 255, 181 / 255, 205 / 255)
LightSteelBlue4      = Color.from_rgb(110 / 255, 123 / 255, 139 / 255)
LightYellow          = Color.from_rgb(255 / 255, 255 / 255, 224 / 255)
LightYellow1         = Color.from_rgb(255 / 255, 255 / 255, 224 / 255)
LightYellow2         = Color.from_rgb(238 / 255, 238 / 255, 209 / 255)
LightYellow3         = Color.from_rgb(205 / 255, 205 / 255, 180 / 255)
LightYellow4         = Color.from_rgb(139 / 255, 139 / 255, 122 / 255)
LimeGreen            = Color.from_rgb( 50 / 255, 205 / 255,  50 / 255)
Linen                = Color.from_rgb(250 / 255, 240 / 255, 230 / 255)
Magenta              = Color.from_rgb(255 / 255,   0 / 255, 255 / 255)
Magenta1             = Color.from_rgb(255 / 255,   0 / 255, 255 / 255)
Magenta2             = Color.from_rgb(238 / 255,   0 / 255, 238 / 255)
Magenta3             = Color.from_rgb(205 / 255,   0 / 255, 205 / 255)
Magenta4             = Color.from_rgb(139 / 255,   0 / 255, 139 / 255)
Maroon               = Color.from_rgb(176 / 255,  48 / 255,  96 / 255)
Maroon1              = Color.from_rgb(255 / 255,  52 / 255, 179 / 255)
Maroon2              = Color.from_rgb(238 / 255,  48 / 255, 167 / 255)
Maroon3              = Color.from_rgb(205 / 255,  41 / 255, 144 / 255)
Maroon4              = Color.from_rgb(139 / 255,  28 / 255,  98 / 255)
MediumAquamarine     = Color.from_rgb(102 / 255, 205 / 255, 170 / 255)
MediumBlue           = Color.from_rgb(  0 / 255,   0 / 255, 205 / 255)
MediumOrchid         = Color.from_rgb(186 / 255,  85 / 255, 211 / 255)
MediumOrchid1        = Color.from_rgb(224 / 255, 102 / 255, 255 / 255)
MediumOrchid2        = Color.from_rgb(209 / 255,  95 / 255, 238 / 255)
MediumOrchid3        = Color.from_rgb(180 / 255,  82 / 255, 205 / 255)
MediumOrchid4        = Color.from_rgb(122 / 255,  55 / 255, 139 / 255)
MediumPurple         = Color.from_rgb(147 / 255, 112 / 255, 219 / 255)
MediumPurple1        = Color.from_rgb(171 / 255, 130 / 255, 255 / 255)
MediumPurple2        = Color.from_rgb(159 / 255, 121 / 255, 238 / 255)
MediumPurple3        = Color.from_rgb(137 / 255, 104 / 255, 205 / 255)
MediumPurple4        = Color.from_rgb( 93 / 255,  71 / 255, 139 / 255)
MediumSeaGreen       = Color.from_rgb( 60 / 255, 179 / 255, 113 / 255)
MediumSlateBlue      = Color.from_rgb(123 / 255, 104 / 255, 238 / 255)
MediumSpringGreen    = Color.from_rgb(  0 / 255, 250 / 255, 154 / 255)
MediumTurquoise      = Color.from_rgb( 72 / 255, 209 / 255, 204 / 255)
MediumVioletRed      = Color.from_rgb(199 / 255,  21 / 255, 133 / 255)
MidnightBlue         = Color.from_rgb( 25 / 255,  25 / 255, 112 / 255)
MintCream            = Color.from_rgb(245 / 255, 255 / 255, 250 / 255)
MistyRose            = Color.from_rgb(255 / 255, 228 / 255, 225 / 255)
MistyRose1           = Color.from_rgb(255 / 255, 228 / 255, 225 / 255)
MistyRose2           = Color.from_rgb(238 / 255, 213 / 255, 210 / 255)
MistyRose3           = Color.from_rgb(205 / 255, 183 / 255, 181 / 255)
MistyRose4           = Color.from_rgb(139 / 255, 125 / 255, 123 / 255)
Moccasin             = Color.from_rgb(255 / 255, 228 / 255, 181 / 255)
NavajoWhite          = Color.from_rgb(255 / 255, 222 / 255, 173 / 255)
NavajoWhite1         = Color.from_rgb(255 / 255, 222 / 255, 173 / 255)
NavajoWhite2         = Color.from_rgb(238 / 255, 207 / 255, 161 / 255)
NavajoWhite3         = Color.from_rgb(205 / 255, 179 / 255, 139 / 255)
NavajoWhite4         = Color.from_rgb(139 / 255, 121 / 255,  94 / 255)
Navy                 = Color.from_rgb(  0 / 255,   0 / 255, 128 / 255)
NavyBlue             = Color.from_rgb(  0 / 255,   0 / 255, 128 / 255)
OldLace              = Color.from_rgb(253 / 255, 245 / 255, 230 / 255)
OliveDrab            = Color.from_rgb(107 / 255, 142 / 255,  35 / 255)
OliveDrab1           = Color.from_rgb(192 / 255, 255 / 255,  62 / 255)
OliveDrab2           = Color.from_rgb(179 / 255, 238 / 255,  58 / 255)
OliveDrab3           = Color.from_rgb(154 / 255, 205 / 255,  50 / 255)
OliveDrab4           = Color.from_rgb(105 / 255, 139 / 255,  34 / 255)
Orange               = Color.from_rgb(255 / 255, 165 / 255,   0 / 255)
Orange1              = Color.from_rgb(255 / 255, 165 / 255,   0 / 255)
Orange2              = Color.from_rgb(238 / 255, 154 / 255,   0 / 255)
Orange3              = Color.from_rgb(205 / 255, 133 / 255,   0 / 255)
Orange4              = Color.from_rgb(139 / 255,  90 / 255,   0 / 255)
OrangeRed            = Color.from_rgb(255 / 255,  69 / 255,   0 / 255)
OrangeRed1           = Color.from_rgb(255 / 255,  69 / 255,   0 / 255)
OrangeRed2           = Color.from_rgb(238 / 255,  64 / 255,   0 / 255)
OrangeRed3           = Color.from_rgb(205 / 255,  55 / 255,   0 / 255)
OrangeRed4           = Color.from_rgb(139 / 255,  37 / 255,   0 / 255)
Orchid               = Color.from_rgb(218 / 255, 112 / 255, 214 / 255)
Orchid1              = Color.from_rgb(255 / 255, 131 / 255, 250 / 255)
Orchid2              = Color.from_rgb(238 / 255, 122 / 255, 233 / 255)
Orchid3              = Color.from_rgb(205 / 255, 105 / 255, 201 / 255)
Orchid4              = Color.from_rgb(139 / 255,  71 / 255, 137 / 255)
PaleGoldenrod        = Color.from_rgb(238 / 255, 232 / 255, 170 / 255)
PaleGreen            = Color.from_rgb(152 / 255, 251 / 255, 152 / 255)
PaleGreen1           = Color.from_rgb(154 / 255, 255 / 255, 154 / 255)
PaleGreen2           = Color.from_rgb(144 / 255, 238 / 255, 144 / 255)
PaleGreen3           = Color.from_rgb(124 / 255, 205 / 255, 124 / 255)
PaleGreen4           = Color.from_rgb( 84 / 255, 139 / 255,  84 / 255)
PaleTurquoise        = Color.from_rgb(175 / 255, 238 / 255, 238 / 255)
PaleTurquoise1       = Color.from_rgb(187 / 255, 255 / 255, 255 / 255)
PaleTurquoise2       = Color.from_rgb(174 / 255, 238 / 255, 238 / 255)
PaleTurquoise3       = Color.from_rgb(150 / 255, 205 / 255, 205 / 255)
PaleTurquoise4       = Color.from_rgb(102 / 255, 139 / 255, 139 / 255)
PaleVioletRed        = Color.from_rgb(219 / 255, 112 / 255, 147 / 255)
PaleVioletRed1       = Color.from_rgb(255 / 255, 130 / 255, 171 / 255)
PaleVioletRed2       = Color.from_rgb(238 / 255, 121 / 255, 159 / 255)
PaleVioletRed3       = Color.from_rgb(205 / 255, 104 / 255, 137 / 255)
PaleVioletRed4       = Color.from_rgb(139 / 255,  71 / 255,  93 / 255)
PapayaWhip           = Color.from_rgb(255 / 255, 239 / 255, 213 / 255)
PeachPuff            = Color.from_rgb(255 / 255, 218 / 255, 185 / 255)
PeachPuff1           = Color.from_rgb(255 / 255, 218 / 255, 185 / 255)
PeachPuff2           = Color.from_rgb(238 / 255, 203 / 255, 173 / 255)
PeachPuff3           = Color.from_rgb(205 / 255, 175 / 255, 149 / 255)
PeachPuff4           = Color.from_rgb(139 / 255, 119 / 255, 101 / 255)
Peru                 = Color.from_rgb(205 / 255, 133 / 255,  63 / 255)
Pink                 = Color.from_rgb(255 / 255, 192 / 255, 203 / 255)
Pink1                = Color.from_rgb(255 / 255, 181 / 255, 197 / 255)
Pink2                = Color.from_rgb(238 / 255, 169 / 255, 184 / 255)
Pink3                = Color.from_rgb(205 / 255, 145 / 255, 158 / 255)
Pink4                = Color.from_rgb(139 / 255,  99 / 255, 108 / 255)
Plum                 = Color.from_rgb(221 / 255, 160 / 255, 221 / 255)
Plum1                = Color.from_rgb(255 / 255, 187 / 255, 255 / 255)
Plum2                = Color.from_rgb(238 / 255, 174 / 255, 238 / 255)
Plum3                = Color.from_rgb(205 / 255, 150 / 255, 205 / 255)
Plum4                = Color.from_rgb(139 / 255, 102 / 255, 139 / 255)
PowderBlue           = Color.from_rgb(176 / 255, 224 / 255, 230 / 255)
Purple               = Color.from_rgb(160 / 255,  32 / 255, 240 / 255)
Purple1              = Color.from_rgb(155 / 255,  48 / 255, 255 / 255)
Purple2              = Color.from_rgb(145 / 255,  44 / 255, 238 / 255)
Purple3              = Color.from_rgb(125 / 255,  38 / 255, 205 / 255)
Purple4              = Color.from_rgb( 85 / 255,  26 / 255, 139 / 255)
Red                  = Color.from_rgb(255 / 255,   0 / 255,   0 / 255)
Red1                 = Color.from_rgb(255 / 255,   0 / 255,   0 / 255)
Red2                 = Color.from_rgb(238 / 255,   0 / 255,   0 / 255)
Red3                 = Color.from_rgb(205 / 255,   0 / 255,   0 / 255)
Red4                 = Color.from_rgb(139 / 255,   0 / 255,   0 / 255)
RosyBrown            = Color.from_rgb(188 / 255, 143 / 255, 143 / 255)
RosyBrown1           = Color.from_rgb(255 / 255, 193 / 255, 193 / 255)
RosyBrown2           = Color.from_rgb(238 / 255, 180 / 255, 180 / 255)
RosyBrown3           = Color.from_rgb(205 / 255, 155 / 255, 155 / 255)
RosyBrown4           = Color.from_rgb(139 / 255, 105 / 255, 105 / 255)
RoyalBlue            = Color.from_rgb( 65 / 255, 105 / 255, 225 / 255)
RoyalBlue1           = Color.from_rgb( 72 / 255, 118 / 255, 255 / 255)
RoyalBlue2           = Color.from_rgb( 67 / 255, 110 / 255, 238 / 255)
RoyalBlue3           = Color.from_rgb( 58 / 255,  95 / 255, 205 / 255)
RoyalBlue4           = Color.from_rgb( 39 / 255,  64 / 255, 139 / 255)
SaddleBrown          = Color.from_rgb(139 / 255,  69 / 255,  19 / 255)
Salmon               = Color.from_rgb(250 / 255, 128 / 255, 114 / 255)
Salmon1              = Color.from_rgb(255 / 255, 140 / 255, 105 / 255)
Salmon2              = Color.from_rgb(238 / 255, 130 / 255,  98 / 255)
Salmon3              = Color.from_rgb(205 / 255, 112 / 255,  84 / 255)
Salmon4              = Color.from_rgb(139 / 255,  76 / 255,  57 / 255)
SandyBrown           = Color.from_rgb(244 / 255, 164 / 255,  96 / 255)
SeaGreen             = Color.from_rgb( 46 / 255, 139 / 255,  87 / 255)
SeaGreen1            = Color.from_rgb( 84 / 255, 255 / 255, 159 / 255)
SeaGreen2            = Color.from_rgb( 78 / 255, 238 / 255, 148 / 255)
SeaGreen3            = Color.from_rgb( 67 / 255, 205 / 255, 128 / 255)
SeaGreen4            = Color.from_rgb( 46 / 255, 139 / 255,  87 / 255)
Seashell             = Color.from_rgb(255 / 255, 245 / 255, 238 / 255)
Seashell1            = Color.from_rgb(255 / 255, 245 / 255, 238 / 255)
Seashell2            = Color.from_rgb(238 / 255, 229 / 255, 222 / 255)
Seashell3            = Color.from_rgb(205 / 255, 197 / 255, 191 / 255)
Seashell4            = Color.from_rgb(139 / 255, 134 / 255, 130 / 255)
Sienna               = Color.from_rgb(160 / 255,  82 / 255,  45 / 255)
Sienna1              = Color.from_rgb(255 / 255, 130 / 255,  71 / 255)
Sienna2              = Color.from_rgb(238 / 255, 121 / 255,  66 / 255)
Sienna3              = Color.from_rgb(205 / 255, 104 / 255,  57 / 255)
Sienna4              = Color.from_rgb(139 / 255,  71 / 255,  38 / 255)
SkyBlue              = Color.from_rgb(135 / 255, 206 / 255, 235 / 255)
SkyBlue1             = Color.from_rgb(135 / 255, 206 / 255, 255 / 255)
SkyBlue2             = Color.from_rgb(126 / 255, 192 / 255, 238 / 255)
SkyBlue3             = Color.from_rgb(108 / 255, 166 / 255, 205 / 255)
SkyBlue4             = Color.from_rgb( 74 / 255, 112 / 255, 139 / 255)
SlateBlue            = Color.from_rgb(106 / 255,  90 / 255, 205 / 255)
SlateBlue1           = Color.from_rgb(131 / 255, 111 / 255, 255 / 255)
SlateBlue2           = Color.from_rgb(122 / 255, 103 / 255, 238 / 255)
SlateBlue3           = Color.from_rgb(105 / 255,  89 / 255, 205 / 255)
SlateBlue4           = Color.from_rgb( 71 / 255,  60 / 255, 139 / 255)
SlateGray            = Color.from_rgb(112 / 255, 128 / 255, 144 / 255)
SlateGray1           = Color.from_rgb(198 / 255, 226 / 255, 255 / 255)
SlateGray2           = Color.from_rgb(185 / 255, 211 / 255, 238 / 255)
SlateGray3           = Color.from_rgb(159 / 255, 182 / 255, 205 / 255)
SlateGray4           = Color.from_rgb(108 / 255, 123 / 255, 139 / 255)
SlateGrey            = Color.from_rgb(112 / 255, 128 / 255, 144 / 255)
Snow                 = Color.from_rgb(255 / 255, 250 / 255, 250 / 255)
Snow1                = Color.from_rgb(255 / 255, 250 / 255, 250 / 255)
Snow2                = Color.from_rgb(238 / 255, 233 / 255, 233 / 255)
Snow3                = Color.from_rgb(205 / 255, 201 / 255, 201 / 255)
Snow4                = Color.from_rgb(139 / 255, 137 / 255, 137 / 255)
SpringGreen          = Color.from_rgb(  0 / 255, 255 / 255, 127 / 255)
SpringGreen1         = Color.from_rgb(  0 / 255, 255 / 255, 127 / 255)
SpringGreen2         = Color.from_rgb(  0 / 255, 238 / 255, 118 / 255)
SpringGreen3         = Color.from_rgb(  0 / 255, 205 / 255, 102 / 255)
SpringGreen4         = Color.from_rgb(  0 / 255, 139 / 255,  69 / 255)
SteelBlue            = Color.from_rgb( 70 / 255, 130 / 255, 180 / 255)
SteelBlue1           = Color.from_rgb( 99 / 255, 184 / 255, 255 / 255)
SteelBlue2           = Color.from_rgb( 92 / 255, 172 / 255, 238 / 255)
SteelBlue3           = Color.from_rgb( 79 / 255, 148 / 255, 205 / 255)
SteelBlue4           = Color.from_rgb( 54 / 255, 100 / 255, 139 / 255)
Tan                  = Color.from_rgb(210 / 255, 180 / 255, 140 / 255)
Tan1                 = Color.from_rgb(255 / 255, 165 / 255,  79 / 255)
Tan2                 = Color.from_rgb(238 / 255, 154 / 255,  73 / 255)
Tan3                 = Color.from_rgb(205 / 255, 133 / 255,  63 / 255)
Tan4                 = Color.from_rgb(139 / 255,  90 / 255,  43 / 255)
Thistle              = Color.from_rgb(216 / 255, 191 / 255, 216 / 255)
Thistle1             = Color.from_rgb(255 / 255, 225 / 255, 255 / 255)
Thistle2             = Color.from_rgb(238 / 255, 210 / 255, 238 / 255)
Thistle3             = Color.from_rgb(205 / 255, 181 / 255, 205 / 255)
Thistle4             = Color.from_rgb(139 / 255, 123 / 255, 139 / 255)
Tomato               = Color.from_rgb(255 / 255,  99 / 255,  71 / 255)
Tomato1              = Color.from_rgb(255 / 255,  99 / 255,  71 / 255)
Tomato2              = Color.from_rgb(238 / 255,  92 / 255,  66 / 255)
Tomato3              = Color.from_rgb(205 / 255,  79 / 255,  57 / 255)
Tomato4              = Color.from_rgb(139 / 255,  54 / 255,  38 / 255)
Turquoise            = Color.from_rgb( 64 / 255, 224 / 255, 208 / 255)
Turquoise1           = Color.from_rgb(  0 / 255, 245 / 255, 255 / 255)
Turquoise2           = Color.from_rgb(  0 / 255, 229 / 255, 238 / 255)
Turquoise3           = Color.from_rgb(  0 / 255, 197 / 255, 205 / 255)
Turquoise4           = Color.from_rgb(  0 / 255, 134 / 255, 139 / 255)
Violet               = Color.from_rgb(238 / 255, 130 / 255, 238 / 255)
VioletRed            = Color.from_rgb(208 / 255,  32 / 255, 144 / 255)
VioletRed1           = Color.from_rgb(255 / 255,  62 / 255, 150 / 255)
VioletRed2           = Color.from_rgb(238 / 255,  58 / 255, 140 / 255)
VioletRed3           = Color.from_rgb(205 / 255,  50 / 255, 120 / 255)
VioletRed4           = Color.from_rgb(139 / 255,  34 / 255,  82 / 255)
Wheat1               = Color.from_rgb(255 / 255, 231 / 255, 186 / 255)
Wheat2               = Color.from_rgb(238 / 255, 216 / 255, 174 / 255)
Wheat3               = Color.from_rgb(205 / 255, 186 / 255, 150 / 255)
Wheat4               = Color.from_rgb(139 / 255, 126 / 255, 102 / 255)
White                = Color.from_rgb(255 / 255, 255 / 255, 255 / 255)
WhiteSmoke           = Color.from_rgb(245 / 255, 245 / 255, 245 / 255)
Yellow               = Color.from_rgb(255 / 255, 255 / 255,   0 / 255)
Yellow1              = Color.from_rgb(255 / 255, 255 / 255,   0 / 255)
Yellow2              = Color.from_rgb(238 / 255, 238 / 255,   0 / 255)
Yellow3              = Color.from_rgb(205 / 255, 205 / 255,   0 / 255)
Yellow4              = Color.from_rgb(139 / 255, 139 / 255,   0 / 255)
YellowGreen          = Color.from_rgb(154 / 255, 205 / 255,  50 / 255)
